package com.Oct_Thirteen;

/**
 * 769. 最多能完成排序的块
 * 给定一个长度为 n 的整数数组 arr ，它表示在 [0, n - 1] 范围内的整数的排列。
 *
 * 我们将 arr 分割成若干 块 (即分区)，并对每个块单独排序。将它们连接起来后，使得连接的结果和按升序排序后的原数组相同。
 *
 * 返回数组能分成的最多块数量。
 *
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/max-chunks-to-make-sorted
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * 2022/10/13 15:08
 */

public class Solution769 {

    public int maxChunksToSorted(int[] arr) {
        int ans=0,max=0;
        for (int i=0;i<arr.length;i++)
        {
            max=Math.max(max,arr[i]);
            if (max==i)
            {
                ans++;
            }
        }
        return ans;
    }

    public static void main(String[] args) {
        Solution769 solution769=new Solution769();
        System.out.println(solution769.maxChunksToSorted(new int[]{1,0,2,3,4}));
    }

}
